home *** CD-ROM | disk | FTP | other *** search
- //------------------------------------------------------------------------------
- // File: IGargle.h
- //
- // Desc: DirectShow sample code - custom interface to allow the user
- // to adjust the modulation rate. It defines the interface between
- // the user interface component (the property sheet) and the filter
- // itself. This interface is exported by the code in Gargle.cpp and
- // is used by the code in GargProp.cpp.
- //
- // Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
-
-
- #ifndef __IGARGLEDMO__
- #define __IGARGLEDMO__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- //
- // IGargleDMOSample's GUID
- //
- // {9AE9B11C-4EF8-42bc-9484-65EA0008964F}
- DEFINE_GUID(IID_IGargleDMOSample,
- 0x9ae9b11c, 0x4ef8, 0x42bc, 0x94, 0x84, 0x65, 0xea, 0x0, 0x8, 0x96, 0x4f);
-
- typedef struct _GargleFX
- {
- DWORD dwRateHz; // Rate of modulation in hz
- DWORD dwWaveShape; // GARGLE_FX_WAVE_xxx
- } GargleFX, *LPGargleFX;
-
- #define GARGLE_FX_WAVE_TRIANGLE 0
- #define GARGLE_FX_WAVE_SQUARE 1
-
- typedef const GargleFX *LPCGargleFX;
-
- #define GARGLE_FX_RATEHZ_MIN 1
- #define GARGLE_FX_RATEHZ_MAX 1000
-
- //
- // IGargleDMOSample
- //
- DECLARE_INTERFACE_(IGargleDMOSample, IUnknown) {
-
- // IGargleDMOSample methods
- STDMETHOD(SetAllParameters) (THIS_ LPCGargleFX pcGargleFx) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPGargleFX pGargleFx) PURE;
-
- };
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif // __IGARGLEDMO__
-